Computers typically execute a series of tasks suitable for an intended application. A "task" is defined as a self-contained package of data and executable procedures which operate on that data, perform logical functions, and are comparable to a "process" in other known systems. In an operating system environment, the Operating system provides housekeeping, or direct control of the processes or tasks within the software package. The process, or task, is typically made up of one or more subroutines.
Within a process, it is desired that the data be accessible only by that process and not be accessed from the outside, i.e., by other processes. Processes can be used to implement "objects", "modules", or other higher-level data abstractions. In communication devices, where features, controls, and hardware platforms commonly change from one family of products to another, it is desired to have a fully portable process in which objects, modules, and higher-level data abstractions can be transferred from one design to another without significant design overhead.
In the prior art, one known system comprises a multiple tri-level micro-processor radio operating system that provides a background executive to allow processing of time-insensitive tasks. A foreground routine allows processing of real-time sensitive tasks. And finally, a midground executive is utilized to allow processing of time-sensitive tasks. A problem with such a system is that all the segments are so interdependent that every time a segment is changed others will have to inevitably change as well. Changes, therefore, had a tendency to be postponed in view of significant cost disadvantages that where associated with having to redesign unrelated areas in order to render the individual segments inter-operative. Furthermore, these systems heavily depend on the time sensitivity of the task and hence will provide support on the basis of their timing sensitivity to the overall operation of the device.
Instead of being based on time sensitivity implemented by interrupts, operating systems based on message passing were developed. In these operating systems, messages are used by two processes to exchange data, or otherwise communicate. Messages also provide the mechanism by which hardware transparency is achieved. A process located anywhere in the system may now send a message to any other process anywhere else in the system if it knows the process name. This approach, although solving some problems with architectures, did not provide portability of the architecture.
Accordingly, there exists a need for an architecture for use in a variety of communication devices that reduces design time and increases design efficiency by utilizing a common architecture with various platforms and ergonomics for all new radio products.